Most information processing involves data restructuring of varying degrees. When data are extracted from sources or new fields are created and placed in the output, the resulting output structure is often different from the structure of the input sources. Furthermore, the increasing need to access and to extract information stored in the various disparate or distributed systems makes data restructuring a necessary part of automatic information processing.
Special languages providing high-level operators for data restructuring have been reported in Shu et al, "EXPRESS: A Data Extraction, Processing and REStructuring System", ACM Transactions on Data Base Systems, Vol. 2, No. 2, June 1977, pp. 134-174; and in Kitagawa et al, "Form Document Management System SPECDOQ--Its Architecture and Implementation", Proceedings of the Second ACM-SIGOA Conference on Office Information Systems, June 1984, pp. 132-142. However, these languages, though "high level", are still "procedural". In order to utilize these languages, it is still necessary to formulate the methods of restructuring in a step-by-step, usually hand-driven or hand-created manner.